package main

import (
	"fmt"
)

/**
执行用时：0 ms, 在所有 Go 提交中击败了100.00%的用户
内存消耗：2 MB, 在所有 Go 提交中击败了16.69%的用户
 */
func uniquePaths(m int, n int) int {

	f := make([][]int, m)
	for i := 0; i < m; i++ { f[i] = make([]int, n) }

	for i := 0; i < m; i++ {
		for j := 0; j < n; j++ {
			if i == 0 || j == 0 {
				f[i][j] = 1
			} else {
				f[i][j] = f[i - 1][j] + f[i][j - 1]
			}
		}
	}
	return f[m - 1][n - 1]
}

func main() {

	fmt.Println(uniquePaths(3, 7))  // 28
}
